package oop.controller.action.mark;

import oop.controller.action.DefaultAction;
import oop.data.Examination;
import oop.data.Mark;
import oop.data.Test;
import oop.db.dao.MarkDAO;
import oop.taglib.UtilFunctions;

import com.oreilly.servlet.ParameterNotFoundException;

public class ViewAction extends DefaultAction {
	public ViewAction() {
	}

	@Override
	public void performImpl() throws Exception {
		try {
			long markId = getParams().getLong("mv_id");
			Mark mark = MarkDAO.fetchById(markId);
			Examination examination = mark.getExamination();
			Test test = examination.getTest();

			title("Bài làm của sinh viên " + UtilFunctions.shortStudentInfo(mark));
			request.setAttribute("mark", mark);
			request.setAttribute("exam", examination);
			request.setAttribute("test", test);
		} catch (ParameterNotFoundException ex) {
			error("Bạn cần phải chọn bài kiểm tra.");
		} catch (NumberFormatException ex) {
			error("ID không hợp lệ.");
		}
	}
}
